Qual a diferença entre var e let?
Diferença entre var e let
Quando declarada dentro de uma estrutura de repetição ou condicional a variável com let não pode ser acessada fora, com var sim.
Os blocos em javascript são estruturas condicionais como: if, ou switch case, ou de repetição como for e while.
Já a variável declarada com var não considera o bloco, então após ele ser usada em um for ou if ela pode ser usada com o último estado após ser executada a estrutura de repetição ou condicional.
Isso independe da variável ser global ou local, ou seja ser declarada fora de uma função ou dentro.
Leia mais em: ww.w3schools.com/js/js_let.asp